#ifndef _VRIJEME_H_
#define _VRIJEME_H_

#include <arh/vrijeme.h>

#define	PERIODICKI	0x01	//alarm se ponavlja periodicki
#define	STVORINOVI	0x02	//stvori novi alarm
#define BLOKIRAJDR	0x04	//blokiraj dretvu (ne koristi se)

#define	ALARMJEZGRE	0x40	//pozovi zadanu funkciju u kontekstu jezgre!

#define	OSLOBODIDR	0x08	//po isteku odblokiraj dretvu iz njenog reda
				//parametar je oznaka dretve
				//koristi se interno, iz jezgre, ali moze i ...

#define	ABSVRIJEME	0x10	//zadano vrijeme je absolutno u odnosu na j_sat

#define	RELVRIJEME	0x20	//zadano vrijeme je relativno prema j_sat-u
				//pretpostavljeno!

//id alarma, kad se trazi novi
#define STVORI_NOVI	-1

int postavi_alarm (int id, vrijeme_t koliko, void (*obrada)(void *),
			void *param, bool ponavljaj);
int postavi_alarm_pr (int id, vrijeme_t koliko, void (*obrada)(void *),
			void *param, int zast);
int obrisi_alarm (int id);
int odgodi (vrijeme_t koliko);
int odgodi_do (vrijeme_t koliko);

#define spavaj(x) odgodi(x) //"alias"

#endif	/* _VRIJEME_H_ */
